Efficient Construction of Simultaneous Deterministic Finite Automata on Multicores Using Rabin Fingerprints

نویسندگان

  • Minyoung Jung
  • Bernd Burgstaller
  • Johann Blieberger
چکیده

Abstract—The ubiquity of multicore architectures in modern computing devices requires the adaptation of algorithms to utilize parallel resources. String pattern matching based on finite automata (FAs) is a method that has gained widespread use across many areas in computer science. However, the structural properties of the pattern matching algorithm have hampered its parallelization. To overcome the dependencyconstraint between subsequent matching steps and exploit parallelism, simultaneous deterministic finite automata (SFAs) have been recently introduced. Given an FA A with n states, the corresponding SFA S(A) simulates n parallel instances of FA A. However, although an SFA facilitates parallel FA matching, SFA construction itself is limited by the exponential state-growth problem, which may result in O(n) SFA states for an FA of size n. The substantial space requirements incur proportional processing steps, both of which make sequential SFA construction intractable for all but the smallest problem sizes. In this paper, we propose several optimizations for the SFA construction algorithm, which greatly reduce the in-memory footprint and the processing steps required to construct an SFA. We introduce fingerprints as a spaceand time-efficient way to represent SFA states. To compute fingerprints, we apply the Barrett reduction algorithm and accelerate it using recent additions to the x86 instruction set architecture. We exploit fingerprints to introduce hashing for further optimizations. Our parallel SFA construction algorithm is nonblocking and utilizes instruction-level, data-level, and task-level parallelism of coarse-, mediumand fine-grained granularity. We adapt static workload distributions and align the SFA data-structures with the constraints of multicore memory hierarchies, to increase the locality of memory accesses and facilitate HW prefetching. We conduct experiments on the PROSITE protein database for FAs of up to 702 FA states to evaluate performance and effectiveness of our proposed optimizations. Evaluations have been conducted on a 4 CPU (64 cores) AMD Opteron 6378 system and a 2 CPU (28 cores, 2 hyperthreads per core) Intel Xeon E5-2697 v3 system. The observed speedups over the sequential baseline algorithm are up to 118541x on the AMD system and 2113968x on the Intel system.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Effective Translation of LTL to Deterministic Rabin Automata: Beyond the (F, G)-Fragment

Some applications of linear temporal logic (LTL) require to translate formulae of the logic to deterministic ω-automata. There are currently two translators producing deterministic automata: ltl2dstar working for the whole LTL and Rabinizer applicable to LTL(F,G) which is the LTL fragment using only modalities F and G. We present a new translation to deterministic Rabin automata via alternating...

متن کامل

The Rabin Index and Chain automata , withapplications to automata and gamesSriram

In this paper we relate the Rabin Index of an !-language to the complexity of translation amongst automata, strategies for two-person regular games, and the complexity of controller-synthesis and veriication for real systems, via a new construction to transform Rabin automata to Chain automata. The Rabin Index is the minimum number of pairs required to realize the language as a deterministic Ra...

متن کامل

Buchi Determinization Made Tighter

By separating the principal acceptance mechanism from the concrete acceptance condition of a given Büchi automaton with n states, Schewe presented the construction of an equivalent deterministic Rabin transition automaton with o((1.65n)n) states via history trees, which can be simply translated to a standard Rabin automaton with o((2.26n)n) states. Apart from the inherent simplicity, Schewe’s c...

متن کامل

3 Determinization of Büchi -

To determinize Büchi automata it is necessary to switch to another class of ω-automata, e.g. Muller or Rabin automata. The reason is that there exist languages which are accepted by some nondeterministic Büchi-automaton, but not by any deterministic Büchi-automaton (c.f. section 3.1). The history of constructions for determinizing Büchi automata is long: it starts in 1963 with a faulty construc...

متن کامل

Determinization of $\omega$-automata unified

We present a uniform construction for converting ω-automata with arbitrary acceptance conditions to equivalent deterministic parity automata (DPW). Given a non-deterministic automaton with n states, our construction gives a DPW with at most 2 2 logn) states and O(n) parity indices. The corresponding bounds when the original automaton is deterministic are O(n!) and O(n), respectively. Our algori...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1512.09228  شماره 

صفحات  -

تاریخ انتشار 2015